package com.rc.saas.tenant.mapper.hlht;

import com.rc.saas.tenant.common.base.BaseMapper;
import com.rc.saas.tenant.model.elec.ElecPile;
import com.rc.saas.tenant.model.hlht.HlhtTenantOpen;
import com.rc.saas.tenant.model.hlht.HlhtTenantOpenPile;
import com.rc.saas.tenant.model.hlht.HlhtTenantOpenPileExample;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface HlhtTenantOpenPileMapper extends BaseMapper<Long, HlhtTenantOpenPile, HlhtTenantOpenPileExample> {
    void insertBatchByElecPileList(@Param("hlhtTenantOpen") HlhtTenantOpen hlhtTenantOpen,@Param("elecPileList") List<ElecPile> elecPileList,@Param("hlhtOpenforType") String hlhtOpenforType, @Param("loginName") String loginName);

    void deleteBatchByElecStationIdList(@Param("hlhtTenantOpen") HlhtTenantOpen hlhtTenantOpen,@Param("elecStationIdList") List<Long> elecStationIdList);

    void updatePileHlhtOpenforTypeBatchByOpenStationIdList(@Param("hlhtTenantOpen") HlhtTenantOpen hlhtTenantOpen,@Param("openedStationIdList") List<Long> openedStationIdList,@Param("hlhtOpenforType") String hlhtOpenforType);

    List<Long> getElecPileIdByOpenPile(@Param("openPileIdList") List<Long> openPileIdList);

    void deleteByBatch(@Param("openPileIdList") List<Long> openPileIdList);

    void updateHlhtOpenforTypeBatchByOpenPileIdList(@Param("openPileIdList") List<Long> openPileIdList,@Param("hlhtOpenforType") String hlhtOpenforType);

    void deleteBatchByElecPileList(@Param("hlhtTenantOpen") HlhtTenantOpen hlhtTenantOpen,@Param("elecPileList") List<ElecPile> elecPileList, @Param("hlhtOpenforType") String hlhtOpenforType);
}